package Bytes;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import util.SocketManager;

public class EnviarBytes {
        
        public void enviarBytes(String ruta, SocketManager socketManager)
        {
                FileInputStream input = null;
                FileOutputStream salida = null;
                //Se carga la imagen en un InputStream
                try {
                		salida = new FileOutputStream(new File("src/resources/Camara/prueba1.jpg"));
                        input = new FileInputStream(ruta);
                        System.out.println("Se ha cargado la imagen de forma correcta.");
                } catch (Exception e) {
                        System.out.println("Error con la imagen, por favor revise la ruta o el formato de la misma.");
                }
                
                try {
                        byte[] buffer = new byte[1024];
                           int bytes=0;
                           while((bytes=input.read(buffer))!=-1)
                           {//Si el fichero no ha acabado, guarda en bytes el valor del siguiente byte del fichero. Si ha acabdo,pasa -1.
                            socketManager.Escribir(buffer,bytes);
                            salida.write(buffer);
                           }
                            socketManager.Escribir("FIN");
                        input.close();
                        salida.close();
                }catch(Exception e)
                {
                        System.out.println("Error al enviar la imagen al cliente");
                }             
        }
        
        public static void main(String [] args)
        {
        	EnviarBytes bytes = new EnviarBytes();
        	try {
				bytes.enviarBytes("src/resources/Camara/imagen.jpg", new SocketManager(new Socket("127.0.0.1", 3000)));
			} catch (UnknownHostException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
        }

}

	
	
